#include <GL/glut.h>

GLubyte bitShape[20] = {
	0x1c, 0x00, 0x1c, 0x00, 0x1c, 0x00, 0x1c, 0x00, 0x1c, 0x00,
	0xff, 0x80, 0x7f, 0x00, 0x3e, 0x00, 0x1c, 0x00, 0x08, 0x00
};

void init()
{
	glClearColor(1.0, 1.0, 1.0, 1.0);	// 设置窗口显示颜色为白色
	glMatrixMode(GL_PROJECTION);		// 设置放映参数
	gluOrtho2D(0.0, 50, 0.0, 50);
}


void myDisplay()
{
	glClear(GL_COLOR_BUFFER_BIT);		// 清空窗口显示
	glColor3f(0.0, 0.0, 0.0);
	
	glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
	glRasterPos2i(0, 0);	// 设置位图左下角的位置
	// 9是绘制的图像宽度
	// 10是绘制的图像高度
	// -20位图图像中原点的x y位置
	glBitmap(9, 10, -20.0, -20.0, 50.0, 15.0, bitShape);

	glFlush();

}


void main(int argc, char** argv)
{
	glutInit(&argc, argv);							// 初始化glut（可不写默认）
	glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);	// 显示模式初始化 单缓冲模式 RGB显示模式
	glutInitWindowPosition(50, 100);				// 窗口距离左和上的距离（可不写默认）
	glutInitWindowSize(100, 100);					// 窗口的宽和高（可不写默认）
	glutCreateWindow("第一个OpenGl程序");			// 窗口名称

	init();											// 执行初始化程序
	glutDisplayFunc(&myDisplay);					// 自定义函数绘图
	glutMainLoop();									// 消息循环响应
}
